Maintaining correct network cabling when deploying a data center can be challenging. Traditionally, a network administrator would manually maintain a mapping table to define the relationships between ports at a switch and NIC ports associated with a different server. The reason for maintaining such a mapping table is that without this information, it can be difficult to apply switch port policies to limit server network access capability. For example, if the mapping is unknown, it may be impossible to reliably apply policies for denying specific servers access to network or policies that permit access only to specific servers, since the mapping between switch ports and particular servers is unknown.
Some efforts have been made to address these issues. For example, one proposed framework is the Rack Scale Design (RSD) framework. The RSD framework relies on so-called Pooled System Management Engine (PSME) software for performing discovery. The PSME Software is a bundle of applications working and communicating together to manage and control different assets. Typically, the PSME Software consists of a PSME Representational State Transfer (REST) server, which is a server responsible for gathering and presenting information about assets and available operations on these assets. The PSME REST server typically connects with at least the following agents: (1) a PSME Compute agent which is responsible for gathering detailed information about compute modules and for controlling hosts and (2) a PSME Network agent which is responsible for configuration and gathering of detailed information about the network topology.
In the RSD framework, the network topology can be discerned using a Link Layer Discovery Protocol (LLDP). For example, an agent in the RSD framework can receive neighbor information from a LLDP agent (e.g., an Open-LLDP daemon). The agents always communicate between each other thru mesh links. Thus, the neighbor port information can be retrieved only on this port type. However, this configuration assumes that all components utilize or support LLDP. Thus, in cases where a server operating system fails to support LLDP, the portion of the topology associated with the non-LLDP server cannot be discerned.